home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 7 / FM Towns Free Software Collection 7.iso / data / nyan_e2 / nyane2_s.plp < prev    next >
Text File  |  1993-11-30  |  10KB  |  416 lines

  1. /**********   設定処理を行う(寡機能版) v1.04a用   **********/
  2. %curfile current|{\MOPSET.PLP};
  3.  
  4. %click    {\n  (右クリックで終了すると、未設定とみなします)};
  5.  
  6. %YesNo2{[MSG,CMD]
  7.     loop({
  8.         select(MSG,9999,{im({Yes});
  9.         },{ O K },{CMD; im({No});
  10.         },{ N G },{im({No});
  11.         });
  12.     });
  13. };
  14.  
  15. %setloadf{
  16.     footnote({ 設定情報が格納されたファイルを指定してください});
  17.     setcdir2(current);
  18.     %file    @filesel({USR});
  19.     %fname    @head(file,{.})|{.USR};
  20.     footnote({});
  21.     case(@filechk(fname),
  22.     {Yes}, {copyfile(fname,curfile);
  23.         NyanInit(current);
  24.         postproc:={thru};
  25.         SetupF  :=fname;
  26.     },{No},{select(
  27.         {指定のファイル「}|fname|{」が存在しません},10,,{確  認});
  28.     });
  29.     im(@filechk(fname)<>{Yes});
  30. };
  31.  
  32. %setintv{
  33.     loop({
  34.         %a @input({ アラーム間隔時間を秒単位で入力してください},,
  35.                 Itime);
  36.         case(@nochar(a)<6,
  37.         {Yes}, {Itime:=a;    im({No});
  38.         },{No},{footnote({ 6桁以内で指定してください});    im({Yes});
  39.         });
  40.     });
  41.     footnote({});
  42. };
  43.  
  44. %setbill{
  45.     select({ 課金情報を取得しますか? (現在は「取得}|msg|{」)},
  46.     9999,{
  47.     },{  取得する },{BILL:={OK};
  48.     },{ 取得しない },{BILL:={NG};
  49.     },{  適時取得 },{BILL:={P};
  50.     });
  51. };
  52.  
  53. %sethp{
  54.     var dispOne[1000];
  55.     %checkHP{[text]
  56.         %topname @head(text,{,});
  57.         %id     @head(topname,{/});
  58.         %pass     @body(topname,{/},{/});
  59.         %hpname @tail(topname,{/});
  60.         case(@nochar(id)==8 && @nochar(pass)<=8 && @nochar(hpname)<=8,
  61.             {Yes},{
  62.                 case(topname,
  63.                     text,{im({Yes})},
  64.                         ,{checkHP(@body(text,{,}))})
  65.             },,{
  66.                 footnote({「}|topname|{」は文字数が合いません});
  67.                 im({No})
  68.         })
  69.     };
  70.  
  71.     dispOne:=hp;
  72.     loop({
  73.         %a @input({ 巡回するHPを設定してください\n}|
  74.              {  形式「ID/パスワード/名前,ID2/パスワード2/名前2,,,」\n}|
  75.              {    ID:HP主催者のID パスワード:HPのパスワード \n}|
  76.              {    名前:英字8文字以下の名前(任意の識別名)\n}|
  77.              {   例「PFF00570/HACHIKOU/MOPROOM,}|
  78.                            {KKK00123/AKITAKEN/FUFUFU」}|click,,
  79.             dispOne);
  80.         case(a<>{},
  81.         {Yes},{
  82.             dispOne:=a;
  83.             case(@checkHP(a),{Yes},{hp:=a; im({No})},,{im({Yes})})
  84.         },{No},{
  85.             YesNo2({ HPを受信しなくてよろしいですか?},{hp:={};
  86.             });
  87.             im({No});
  88.         })
  89.     });
  90.     footnote({});
  91. };
  92.  
  93. %setpatio{
  94.     var dispOne[1000];
  95.     %checkPatio{[text]
  96.         %topname @head(text,{,});
  97.         %id     @head(topname,{/});
  98.         %pass     @body(topname,{/},{/});
  99.         %pationame @tail(topname,{/});
  100.         case(@nochar(id)==8 && @nochar(pass)<=8 &&
  101.              @nochar(pationame)<=8,
  102.             {Yes},{
  103.                 case(topname,
  104.                     text,{im({Yes})},
  105.                         ,{checkPatio(@body(text,{,}))})
  106.             },,{
  107.                 footnote({「}|topname|{」は文字数が合いません});
  108.                 im({No})
  109.         })
  110.     };
  111.  
  112.     dispOne:=patio;
  113.     loop({
  114.         %a @input({ 巡回するパティオを設定してください\n}|
  115.              {  形式「ID/パスワード/名前,ID2/パスワード2/名前2,,,」\n}|
  116.              {    ID:PATIO主催者のID パスワード:PATIOのパスワード\n}|
  117.              {    名前:英字8文字以下の名前(任意の識別名)\n}|
  118.              {   例「PFF00570/HACHIKOU/MOPROOM,}|
  119.                            {KKK00123/AKITAKEN/FUFUFU」}|click,,
  120.             dispOne);
  121.         case(a<>{},
  122.         {Yes},{
  123.             dispOne:=a;
  124.             case(@checkPatio(a),{Yes},{patio:=a; im({No})},
  125.                               ,{im({Yes})})
  126.         },{No},{
  127.             YesNo2({ パティオを受信しなくてよろしいですか?},
  128.                 {patio:={};
  129.             });
  130.             im({No});
  131.         })
  132.     });
  133.     footnote({});
  134. };
  135.  
  136. %checkForum{[text]
  137.     %topname @head(@head(text,{/}),{(});
  138.     %lstname @head(@tail(text,{/}),{(});
  139.     %checkCcs{[rooms]
  140.         var roomnos[80];
  141.         var roomset[20];
  142.         var judge[3];
  143.         %chkroom{
  144.         case(roomno<1 || roomno>20,
  145.         {Yes},{    footnote({会議室「}|roomno|{」の値が不当です});
  146.             judge:={No};
  147.         });
  148.         };
  149.         roomnos:=rooms;
  150.         judge:={Yes};
  151.         case(roomnos<>{} && roomnos<>{ALL} && roomnos<>0,{Yes},{
  152.         loop({
  153.             roomset:=@head(roomnos,{,});
  154.             roomnos:=@body(roomnos,{,});
  155.             loop({
  156.                 %roomno    @head(roomset,{-});
  157.                 chkroom;
  158.                 roomset:=@body(roomset,{-});
  159.                 im(roomset<>{});
  160.             });
  161.             im(roomnos<>{});
  162.         });
  163.         });
  164.         im(judge);
  165.     };
  166.  
  167.     case(@nochar(topname)<=8,
  168.     {Yes},{
  169.         case( @checkCcs( @body(@head(text,{/}),{(},{)}) ),
  170.         {Yes},{    case(topname,
  171.                  lstname,{im({Yes})},
  172.                 ,{checkForum(@body(text,{/}))})
  173.         },,{    im({No});
  174.         });
  175.     },,{
  176.             footnote({「}|topname|{」は8文字以上です});
  177.             im({No})
  178.     })
  179. };
  180.  
  181. %setforum{
  182.     var dispOne[1000];
  183.     dispOne:=forum;
  184.     loop({
  185.         %a @input({ 巡回するフォーラム名と会議室番号を設定してくだ}|
  186.               {さい\n}|
  187.               {  フォーラム名の後にカッコでくくって会議室番号を}|
  188.               {指定\n}|
  189.               {  します.会議室番号番号を省略すると,全会議室を}|
  190.               {指定\n}|
  191.               {  したことになります.\n}|
  192.               {  例「FSKIER(1,2,3)/FTOWNS1/FFMPRO(9)」}|click,,
  193.             dispOne);
  194.         case(a<>{},
  195.         {Yes},{
  196.             dispOne:=a;
  197.             case(@checkForum(a),{Yes},{forum:=a; im({No})},
  198.                          ,{im({Yes})})
  199.         },{No},{
  200.             YesNo2({ フォーラムを受信しなくてよろしいですか?},
  201.                 {forum:={};
  202.             });
  203.             im({No});
  204.         })
  205.     });
  206.     footnote({});
  207. };
  208.  
  209. %setrtn{
  210.     var dispOne[1000];
  211.     dispOne:=rtn;
  212.     loop({
  213.         %a @input({ 発言のタイトルのみ取得するフォーラム名と会議室}|
  214.               {番号\n}|
  215.               { を設定してください\n}|
  216.               {  フォーラム名の後にカッコでくくって会議室番号を}|
  217.               {ひと\n}|
  218.               {  つずつ指定します.会議室番号を省略しないでくだ}|
  219.               {さい\n}|
  220.               {  例「FSKIER(1,2,3)/FTOWNS1(3,12)/FFMPRO(9)」}|click,,
  221.             dispOne);
  222.         case(a<>{},
  223.         {Yes},{
  224.             dispOne:=a;
  225.             case(@checkForum(a),{Yes},{rtn:=a; im({No})},
  226.                          ,{im({Yes})})
  227.         },{No},{
  228.             YesNo2({ フォーラムを受信しなくてよろしいですか?},
  229.                 {rtn:={};
  230.             });
  231.             im({No});
  232.         })
  233.     });
  234.     footnote({});
  235. };
  236.  
  237. %setlib{
  238.     var dispOne[1000];
  239.     dispOne:=lib;
  240.     loop({
  241.         %a @input({ 巡回するフォーラム名とライブラリ番号を設定して}|
  242.              {ください\n}|
  243.               { フォーラム名の後にカッコでくくってライブラリ番}|
  244.              {号を\n}|
  245.              { ひとつずつ指定します.ライブラリ番号を省略する}|
  246.               {と,\n}|
  247.              { ライブラリのメニューのみを取得します.\n}|
  248.               {  例「FTOWNS1/FFMUSER(1,2)/FFMPRO(10)」}|click,,
  249.             dispOne);
  250.         case(a<>{},
  251.         {Yes},{
  252.             dispOne:=a;
  253.             case(@checkForum(a),{Yes},{lib:=a; im({No})},
  254.                          ,{im({Yes})})
  255.         },{No},{
  256.             YesNo2({ ライブラリは未設定でよろしいですか?},
  257.                 {lib:={};
  258.             });
  259.             im({No});
  260.         })
  261.     });
  262.     footnote({});
  263. };
  264.  
  265. %putplp{[id,data]
  266.     madd(1,id|@xc({09})|{:=}|@xc({7b})|data|@xc({7d})|{;\n});
  267. };
  268.  
  269. %putusr{
  270.     case(BILL={},{Yes},{BILL:={OK}});
  271.     case(DivDisp={},{Yes},{DivDisp:={ORI}});
  272.     case(InsHan={},{Yes},{InsHan:={TAIL}});
  273.     case(PRINTER={},{Yes},{PRINTER:={fm}});
  274.     case(tmpdir={},{Yes},{tmpdir:=current});
  275.  
  276.     CloseAllMemo;
  277.     mclear(1);
  278.     putplp({SetupF},SetupF);
  279.     putplp({modem},modem);
  280.     putplp({telno},telno);
  281.     putplp({telty},telty);
  282.     putplp({telno2},telno2);
  283.     putplp({telty2},telty2);
  284.     putplp({telno3},telno3);
  285.     putplp({telty3},telty3);
  286.     putplp({Rmail},Rmail);
  287.     putplp({Smail},Smail);
  288.     putplp({mail},mail);
  289.     putplp({FmgrP},FmgrP);
  290.     putplp({FmgrF},FmgrF);
  291.     putplp({line},line);
  292.     putplp({Itime},Itime);
  293.     putplp({R},R);
  294.     putplp({G},G);
  295.     putplp({B},B);
  296.     putplp({id},id);
  297.     putplp({pass},pass);
  298.     putplp({logd},logd);
  299.     putplp({loga1},loga1);
  300.     putplp({loga2},loga2);
  301.     putplp({logb1},logb1);
  302.     putplp({logb2},logb2);
  303.     putplp({logc1},logc1);
  304.     putplp({logc2},logc2);
  305.     putplp({logh1},logh1);
  306.     putplp({logm1},logm1);
  307.     putplp({logl},logl);
  308.     putplp({logf},logf);
  309.     putplp({tmpdir},tmpdir);
  310.     putplp({BILL},BILL);
  311.     putplp({DivDisp},DivDisp);
  312.     putplp({InsHan},InsHan);
  313.     putplp({Handle},Handle);
  314.     putplp({LIST},LIST);
  315.     putplp({GUEST},GUEST);
  316.     putplp({WTIME},WTIME);
  317.     putplp({PRINTER},PRINTER);
  318.     putplp({cugname},cugname);
  319.     putplp({forum},forum);
  320.     putplp({hp},hp);
  321.     putplp({patio},patio);
  322.     putplp({lib},lib);
  323.     putplp({rtn},rtn);
  324. };
  325.  
  326. var imsg[14];
  327. var msg[10];
  328. var lmsg[5];
  329. var hmsg[5];
  330. var pmsg[5];
  331. var fmsg[5];
  332. var rmsg[5];
  333. var loopon[5];
  334. var postproc[5];
  335. putusr;
  336. postproc:={sel};
  337. loop({
  338.     case(BILL={},{Yes},{BILL:={OK}});
  339.     case(BILL,{OK},{msg:={する}},{NG},{msg:={しない}},
  340.         {P},{msg:={するかも?}});
  341.     case(Itime,{},{imsg:={ (なし)}},,{imsg:={ (}|Itime|{秒)}});
  342.     case(lib,{},{lmsg:={なし}},,{lmsg:={あり}});
  343.     case(hp,{},{hmsg:={なし}},,{hmsg:={あり}});
  344.     case(patio,{},{pmsg:={なし}},,{pmsg:={あり}});
  345.     case(forum,{},{fmsg:={なし}},,{fmsg:={あり}});
  346.     case(rtn,{},{rmsg:={なし}},,{rmsg:={あり}});
  347.     loopon:={Yes};
  348.     select({設定する項目を選んでください 《SETUP FILE : }|SetupF|{》},
  349.     99999,{loopon:={Yes}},
  350.         {     設定処理を終了する         },{loopon:={No}},
  351.         {    保存された設定情報を呼び出す    },{loopon:=@setloadf},
  352.         {   アラーム間隔時間}|imsg          ,{setintv},
  353.         {    課金情報 (取得}|msg|{)    },{setbill},
  354.         {         各データの巡回設定         },MOVE,
  355.         {    巡回するライブラリ (設定}|lmsg|{)   },{setlib},
  356.         {    巡回するHP       (設定}|hmsg|{)   },{sethp},
  357.         {    巡回するパティオ   (設定}|pmsg|{)   },{setpatio},
  358.         {    巡回するフォーラム (設定}|fmsg|{)   },{setforum},
  359.         {    RTNの巡回取得   (設定}|rmsg|{)   },{setrtn}
  360.     );
  361.     im(loopon)
  362. });
  363. case(postproc={sel},
  364. {Yes}, {
  365.     case(@filechk(curfile),
  366.     {Yes}, {
  367.     loop({
  368.         select({ 変更した設定内容は? 《SETUP FILE : }|SetupF|{》},
  369.         99999,{im({Yes});
  370.         },{ 元のファイルに保存 },{
  371.             setcdir2(current);
  372.             case(SetupF={},
  373.             {Yes},{
  374.             footnote({ 「指定ファイル保存」をしてください});
  375.             im({Yes});
  376.             },{No},{
  377.             putusr;
  378.             mwrite(SetupF,1);
  379.             mwrite(curfile,1);
  380.             im({No});
  381.             });
  382.         },{ 指定ファイルに保存 },{
  383.             footnote({ 保存ファイルを指定してください});
  384.             setcdir2(current);
  385.             %file  @filesel({USR});
  386.             %fname @head(file,{.})|{.USR};
  387.             footnote({});
  388.             case(@nochar(@head(file,{.}))>0,
  389.             {Yes}, {case(@filechk(fname),{Yes}, {delfile(fname)});
  390.                 SetupF:=fname;
  391.                 putusr;
  392.                 mwrite(fname,1);
  393.                 mwrite(curfile,1);
  394.             });
  395.             im({No});
  396.         },{    一時的な変更    },{
  397.             im({No});
  398.         },{   変更処理を中止   },{
  399.             %Reset @memo(1);
  400.             Reset;
  401.             im({No});
  402.         });
  403.     });
  404.     },{No},{
  405.     case(@nochar(id)>0,{Yes},{
  406.         %fname    id|{.USR};
  407.         setcdir2(current);
  408.         SetupF:=fname;
  409.         putusr;
  410.         mwrite(fname,1);
  411.         mwrite(curfile,1);
  412.     });
  413.     });
  414. });
  415. mclear(1);
  416.